﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StyleMVVM.DependencyInjection;

namespace StyleMVVM.UnitTests.TestClasses.SimpleObjects
{
	[Export(typeof(MultipleConstructorExport))]
	public class MultipleConstructorExport
	{
		public const int DefaultConstructorValue = 10;
		public const int StringConstuctorValue = 50;

		public MultipleConstructorExport()
		{
			X = DefaultConstructorValue;
		}

		public MultipleConstructorExport(int x)
		{
			X = x;
		}

		public MultipleConstructorExport(int x, int y)
		{
			X = x;

			Y = y;
		}

		public MultipleConstructorExport(int x, double z)
		{
			X = x;

			Z = z;
		}

		public MultipleConstructorExport(string stringValue)
		{
			X = StringConstuctorValue;

			StringValue = stringValue;
		}

		public int X { get; set; }

		public int Y { get; set; }

		public double Z { get; set; }

		public string StringValue { get; set; }
	}
}